package daily.jun0617;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JTextFieldAndJTextAreaTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> createAndShow());
    }

    public static void createAndShow() {
        //1.创建一个窗体
        JFrame jFrame = new JFrame("聊天窗口");
        //2.为窗体设置大小，位置等属性
        jFrame.setBounds(300, 400, 400, 300);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);

        //3.设置窗体布局
        jFrame.setLayout(new BorderLayout());

        //4.创建聊天记录区域JTextArea
        JTextArea textArea = new JTextArea(12, 30);
        //设置聊天记录区域禁止编辑
        textArea.setEditable(false);
        //将聊天记录区域放在窗体中
        jFrame.add(textArea);
        //创建一个滚动面板
        JScrollPane scrollPane = new JScrollPane(textArea);
        //将滚动条添加到聊天记录区域中，放在PAGE_START的位置
        jFrame.add(scrollPane,BorderLayout.PAGE_START);

        //5.创建文本输入框JTextField
        JTextField textField = new JTextField(20);
        //6.创建发送按钮
        JButton sendButton = new JButton("发送");
        //7.为发送按钮创建监听器
        sendButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                //获取文本框中输入的内容
                String content = textField.getText();
                //判断文本框是否为空
                if (null != content && 0 != content.length()) {
                    textArea.append("我：" + content + "\n");
                    textField.setText("");
                }
            }
        });

        //8.创建一个JPanel面板，将文本输入框和按钮添加到面板中
        JPanel jPanel = new JPanel();
        JLabel label = new JLabel("聊天信息");//创建一个标签
        jPanel.add(label);
        jPanel.add(textField);
        jPanel.add(sendButton);

        //9.将JPanel面板添加到窗体中，放在PAGE_END位置
        jFrame.add(jPanel,BorderLayout.PAGE_END);
    }
}
